1. Field of the Invention
This invention relates to the field of voice browsers and, more particularly, to the interaction of voice browsers with applications and/or portlets.
2. Description of the Related Art
Web-based applications often must maintain state information in order to function properly or complete online transactions. One common example of this situation is where a user visits an online retail Web site and initiates a transaction. Prior to completing the transaction, the user can visit one or more other Web sites and then return to the online retail Web site. When the user returns to the online retail Web site, the revisited application can be restored to the same operating state as when the user temporarily exited the transaction and application to visit other Web sites. The user then can complete the transaction.
To function in this manner, the application executing within the online retail Web site must maintain state information specifying the details of the transaction. These details can include particular items being purchased, a user or client identifier, a location within a logical structure governing the transaction processing, the last interaction or selection of the user, for example the particular Web page that was displayed to the user and any information presented upon that Web page, as well as the time and/or date of the transaction.
One way in which state information can be maintained is to store the information as a persistent file, called a cookie, within the client machine. The traditional concept of storing cookies on a client computer system, that is the user-specific computing device which includes a browser, does provide a mechanism for storing state information for use by various applications. The cookie paradigm, however, does not address cases in which the user accesses an application through a non-user specific computing device which cannot store persistent cookies or has no persistent storage.
Another approach to maintaining state information is to store the information within a session identifier on the application server. As demand for bandwidth increases, server farms or server clusters have emerged as one way in which content can be provided to an ever increasing population of users. Server farms or clusters provide a mechanism through which an application can be replicated across each of the servers so that increased bandwidth can be achieved through server and application redundancy.
The storage of persistent state information within a particular server is problematic in cases where multiple servers are used to host the same application. In such cases, there is a high probability that a user, when revisiting an application during a subsequent portal session, returns to a different instance of the application executing on a different server than was accessed during the prior portal session. In this case, the state information is not accessible and is of no use.
The aforementioned problems relating to the maintenance of state information with respect to portals are further complicated when considering voice portals. A voice portal typically includes one or more voice servers, each including one or more voice browser instances. If a user is to be able to navigate the voice portal from one application to the next, state information for the applications must be maintained else previous states of the applications cannot be restored when the user revisits those applications, especially in mid-transaction.
Further complicating matters, voice browsers typically are distributed across computing networks, in contrast to conventional visual browsers, which are disposed in a personal computing device and are accessed by a single and same user. As such, conventional voice browsers are accessed by many users. Conventional voice portals which rely upon voice browser technology are designed to connect a user with an available voice browser which can be returned to a pool of available voice browsers after completion of the voice browser session, or to instantiate a new instance of a voice browser for each session. Thus, when the user accesses a conventional voice portal, the user is connected to a single instance of a voice browser. Accordingly, there is a high probability that a user will be connected to a different instance of the voice browser and/or different voice server for each call or voice portal and/or browser session. Because voice systems are designed in this manner, conventional voice browsers do not include persistent storage.